Clp() for Automatically Proving Program Properties 1

نویسندگان

  • F. MESNARD
  • S. HOARAU
  • A. MAILLARD
چکیده

Various proof methods have been proposed to solve the implication problem , i.e. proving that properties of the form : 8(P ! Q)-where P and Q denote conjunctions of atoms-are logical consequences of logic programs. Nonetheless, it is a commonplace to say that it is still quite a diicult problem. Besides, the advent of the constraint logic programming scheme constitutes not only a major step towards the achievement of ee-cient declarative logic programming systems but also a new eld to explore. By recasting and simplifying the implication problem in the constraint logic programming framework, we deene a generic proof method for the implication problem, which we prove sound from the algebraic point of view. We present four examples using CLP(IN), CLP(RT), CLP(() and RISC-CLP(IR). The logical point of view of the constraint logic programming scheme enables the automation of the proof method. At last, we prove the unsolvability of the implication problem, we point out the origins of the incompleteness of the proposed proof method and we identify two classes of programs for which we give a decision procedure for the implication problem.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Constraint Logic Programming for program analysis

Constraint Logic Programming (CLP) has been traditionally applied to the modelling of complex problems, especially combinatorial problems, and to model knowledge bases. In this presentation, we focus on using CLP for program analysis and verification. First we consider the representation of program behavior: the rules and constraints of CLP provides for a natural specification of programs as a ...

متن کامل

Proving Theorems by Program Transformation

In this paper we present an overview of the unfold/fold proof method, a method for proving theorems about programs, based on program transformation. As a metalanguage for specifying programs and program properties we adopt constraint logic programming (CLP), and we present a set of transformation rules (including the familiar unfolding and folding rules) which preserve the semantics of CLP prog...

متن کامل

A Rule-based Verification Strategy for Array Manipulating Programs

We present a method for verifying properties of imperative programs that manipulate integer arrays. Imperative programs and their properties are represented by using Constraint Logic Programs (CLP) over integer arrays. Our method is refutational. Given a Hoare triple {φ} prog {ψ} that defines a partial correctness property of an imperative program prog, we encode the negation of the property as...

متن کامل

HipSpec: Automating Inductive Proofs of Program Properties

We present ongoing work on HipSpec, a system for automatically deriving and proving properties about functional programs. HipSpec uses a combination of theory exploration, counter-example testing and inductive theorem proving to automatically generate a set of equational theorems about recursive functions in a program, which are later used as a background theory for proving stated properties ab...

متن کامل

Foundational Issues in Implementing Constraint Logic Programming Systems

Implementations of Constraint Logic Programming (CLP) systems are often incomplete with respect to the theories they are intended to implement. This paper studies two issues that arise in dealing with these incomplete implementations. First, the notion of \satissability function" (the analogue of uniication) is formally deened, and the question of which such functions are reasonable is studied....

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994